home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Triton / Developer / Include / clib / triton_protos.h
C/C++ Source or Header  |  1995-06-28  |  5KB  |  112 lines

  1. #ifndef CLIB_TRITON_PROTOS_H
  2. #define CLIB_TRITON_PROTOS_H
  3.  
  4. /*
  5. **    $VER: triton_protos.h 3.59 (11.1.95)
  6. **    Triton Release 1.1
  7. **
  8. **    triton.library prototypes
  9. **    triton.lib definitions
  10. **
  11. **    (C) Copyright 1993-1995 Stefan Zeiger
  12. **    All Rights Reserved
  13. */
  14.  
  15.  
  16. /* ////////////////////////////////////////////////////////////////////// */
  17. /* /////////////////////////////////////////// Compiler specific stuff // */
  18. /* ////////////////////////////////////////////////////////////////////// */
  19.  
  20. #ifdef _DCC
  21.  
  22. #ifndef EXEC_TYPES_H
  23. #include <exec/types.h>
  24. #endif
  25.  
  26. #define REG(x) __ ## x
  27. #define ASM
  28. #define STACK  __stkargs
  29. #define REGS   __regargs
  30.  
  31. #else
  32.  
  33. #ifdef __GNUC__
  34.  
  35. #define REG(x)
  36. #define ASM
  37. #define STACK
  38. #define REGS
  39.  
  40. #else /* __SASC__ */
  41.  
  42. #define REG(x) register __ ## x
  43. #define ASM    __asm
  44. #define STACK  __stdargs
  45. #define REGS   __regargs
  46.  
  47. #endif /* __GNUC__ */
  48.  
  49. #endif /* _DCC */
  50.  
  51.  
  52. /* ////////////////////////////////////////////////////////////////////// */
  53. /* /////////////////////////////////////////////////////// Main system // */
  54. /* ////////////////////////////////////////////////////////////////////// */
  55.  
  56. ASM extern struct TR_Project *    TR_OpenProject(REG(a1) struct TR_App *app, REG(a0) struct TagItem *);
  57. ASM extern VOID                   TR_CloseProject(REG(a0) struct TR_Project *);
  58.  
  59. ASM extern LONG                   TR_FirstOccurance(REG(d0) UBYTE ch, REG(a0) STRPTR str);
  60. ASM extern LONG                   TR_NumOccurances(REG(d0) UBYTE ch, REG(a0) STRPTR str);
  61. ASM extern STRPTR                 TR_GetErrorString(REG(d0) UWORD num);
  62. ASM extern UWORD                  TR_GetLastError(REG(a1) struct TR_App *app);
  63. ASM extern VOID                   TR_CloseWindowSafely(REG(a0) struct Window *win);
  64.  
  65. ASM extern struct TR_Message *    TR_GetMsg(REG(a1) struct TR_App *app);
  66. ASM extern VOID                   TR_ReplyMsg(REG(a1) struct TR_Message *message);
  67. ASM extern ULONG                  TR_Wait(REG(a1) struct TR_App *app, REG(d0) ULONG otherbits);
  68.  
  69. ASM extern ULONG                  TR_SendMessage(REG(a0) struct TR_Project *project, REG(d0) ULONG objectid, REG(d1) ULONG messageid, REG(a1) void *messagedata);
  70. ASM extern VOID                   TR_SetAttribute(REG(a0) struct TR_Project *, REG(d0) ULONG ID, REG(d1) ULONG attribute, REG(d2) ULONG value);
  71. ASM extern ULONG                  TR_GetAttribute(REG(a0) struct TR_Project *, REG(d0) ULONG ID, REG(d1) ULONG attribute);
  72.  
  73. ASM extern VOID                   TR_LockProject(REG(a0) struct TR_Project *project);
  74. ASM extern VOID                   TR_UnlockProject(REG(a0) struct TR_Project *project);
  75.  
  76. ASM extern ULONG                  TR_AutoRequest(REG(a1) struct TR_App *app, REG(a0) struct TR_Project *lockproject, REG(a2) struct TagItem *request_trwintags);
  77. ASM extern ULONG                  TR_EasyRequest(REG(a1) struct TR_App *app, REG(a2) STRPTR bodymft, REG(a3) STRPTR gadfmt, REG(a0) struct TagItem *taglist);
  78.  
  79. ASM extern struct TR_App *        TR_CreateApp(REG(a1) struct TagItem *apptags);
  80. ASM extern VOID                   TR_DeleteApp(REG(a1) struct TR_App *app);
  81.  
  82. ASM extern struct Screen *        TR_LockScreen(REG(a0) struct TR_Project *project);
  83. ASM extern VOID                   TR_UnlockScreen(REG(a0) struct Screen *screen);
  84.  
  85. ASM extern struct Window *        TR_ObtainWindow(REG(a0) struct TR_Project *project);
  86. ASM extern VOID                   TR_ReleaseWindow(REG(a0) struct Window *window);
  87.  
  88.  
  89. /* ////////////////////////////////////////////////////////////////////// */
  90. /* /////////////////////////////////////////////////// Support library // */
  91. /* ////////////////////////////////////////////////////////////////////// */
  92.  
  93. #ifndef TR_NOSUPPORT
  94.  
  95. STACK extern BOOL                 TR_OpenTriton(ULONG version, ULONG taglist,...);
  96. REGS  extern VOID                 TR_CloseTriton(VOID);
  97. STACK extern struct TR_App     *  TR_CreateAppTags(ULONG taglist,...);
  98. STACK extern struct TR_Project *  TR_OpenProjectTags(struct TR_App *app, ULONG taglist,...);
  99. STACK extern ULONG                TR_EasyRequestTags(struct TR_App *app, STRPTR bodymft, STRPTR gadfmt, ULONG taglist,...);
  100. STACK extern ULONG                TR_AutoRequestTags(struct TR_App *app, struct TR_Project *lockproject, ULONG taglist,...);
  101. REGS  extern BOOL                 TRIM_trLogo_Init(VOID);
  102. REGS  extern VOID                 TRIM_trLogo_Free(VOID);
  103.  
  104. #endif
  105.  
  106.  
  107. /* ////////////////////////////////////////////////////////////////////// */
  108. /* /////////////////////////////////////////////////////////// The End // */
  109. /* ////////////////////////////////////////////////////////////////////// */
  110.  
  111. #endif /* CLIB_TRITON_PROTOS_H */
  112.